package videoExercises;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/*
编写方法reverseMap，输入一个HashMap<String，Integer>，
返回新的HashMap<Integer，string>(原Map的Value作Key，Key作Value)。
若Value重复，保留最后一个出现的键值对。关键点:遍历原Map时需处理重复Value的覆盖问题 8。

 */
public class T2HashMap {
    public static void main(String[] args) {
    HashMap<String , Integer> map =new HashMap<>();
        map.put("Z",1);
        map.put("c",3);
        map.put("d",6);
        map.put("s",1);
        map.put("v",3);
        map.put("p",5);
        map.put("o",6);
        System.out.println("最初的Map"+map);
        HashMap<Integer, String> i = reverMap(map);
        System.out.println("反转后的Map"+i);
    }

    public static HashMap<Integer, String> reverMap(HashMap<String, Integer> map) {
        HashMap<Integer, String> reverMap = new HashMap<>();
        Set<Map.Entry<String, Integer>> entries = map.entrySet();
        for (Map.Entry<String, Integer> entry : entries) {
            String key = entry.getKey();
            Integer value = entry.getValue();
            reverMap.put(value, key);
        }
        return reverMap;
    }
}
